<?php
session_start();

include_once '../lib/config_inc.php';
include_once '../class/config.inc2.php';
include_once '../class/function.php'; 

/*<!--*************************************************************************************************************************************************
																	VALIDA TODOS LOS POSIBLES ERRORES AL LOGEARSE EN EL SISTEMA

FINALIDAD:						Establecer las Funciones de Conexi�n a la base de datos.
FECHA:							27/10/2010
DESARROLLADO:					Paola Bello - SITVEN, C.A.
MODIFICADO:           			
FECHA MODIFICACI�N:
SISTEMA: 			 
****************************************************************************************************************************************************-->

<!-- En este archivo se recibe por POST, el login y la clave del usuario, se hacen las validaciones
	 y se guardan en variables de Sessiones que luego son pasadas al index, para regresar al login 
	 en caso de errores o pasar a la interfaz si los datos son correctos-->

******************************************************************************************************************************************************/
$usuario=$_POST['usuario'];
$clave=$_POST['clave'];

//print_r ($clave);
if($usuario==''|| $clave=='') // 1. Validacion, si el usuario no es vacio valida que no existan datos en blanco. 
{	
	$_SESSION['error1']="No debe dejar campos en blanco";
	header("Location:../index.php");
}



if ($usuario!=''&& $clave!='') // 2. Validacion, si los datos no son vacios, comenzaremos a validar otras opciones.
{//Comienza el if que valida si ingreso algo
//	echo ' el user'.$usuario.' y su clave  '.$clave;
	$query ="SELECT * FROM t_cman_usuario WHERE log_usr='$usuario'"; //para traer datos correctos 
	$result=ejecutar($query);
	
	while ($row = pg_fetch_array($result)) 
	{
		$password_usr=$row['tx_pwd'];
		$login_usr=$row['log_usr'];
		$id_usr=$row['id_usr'];
		$id_cargo=$row['id_cargo'];
		$status_usuario=$row['id_status_usr'];
		$id_usuario_registro=$row['id_usr_registro'];
	}
	if($login_usr=='' && $password_usr=='') //2.1 Si el login no coincide lo trae en blanco y mandamos el error en session
	{
		$_SESSION['error2']="Login y/o Password Incorrectos";
		header("Location:../index.php"); exit();
	}	

	if($clave!=$password_usr && $usuario==$login_usr) //2.3 Si el login coincide y el password no validamos que la clave sea incorrecta y contamos este intento en la bd
	
{ // Inicia if que valida si el login coincide y la clave no 
		$query ="UPDATE t_cman_usuario SET numero_intentos=numero_intentos+1 WHERE log_usr='$usuario' "; //actualizamos la tabla
		$result=ejecutar($query);
		$fecha_hoy= date('Y-m-d');
		$query1="INSERT INTO  t_cman_rgto_ingr (id_usr, id_result_ing, fe_ing_usr) VALUES (".$id_usr.", '1', '".$fecha_hoy."')";
		$result1=ejecutar($query1);
		$query2 ="SELECT * FROM t_cman_usuario where id_usr='$id_usr'";
		$result2=ejecutar($query2);
		
	while ($row = pg_fetch_array($result2)) 
	{	
		$numero_intentos=$row['numero_intentos'];
	}
	
	if($numero_intentos <= '3') //2.4 Mientras que no trate m�s de tres de veces mandamos el mensjae 
	{
		$_SESSION['error3']="Clave Incorrecta";
		header("Location:../index.php"); exit();
	}
	
	else // 2.5 Intento 3 veces lo desactivamos. 
	{
		$_SESSION['error4']="Numero de Intentos Incorrectos";
		$query ="UPDATE t_cman_usuario SET id_status_usr=2 WHERE id_usr= '$id_usr' ";
		$result=ejecutar($query);
		header("Location:../index.php");exit();
	}
	
} // Finaliza  if que valida si el login coincide y la clave no 
	
	
	else // ambos coinciden debemos saber el nombre y el apellido del usuario

{ //Comienza el else si la clave es correcta
	
$querynbusr ="SELECT * FROM t_cman_usuario where id_usr='$id_usr'";
		$resultnbusr=ejecutar($querynbusr);


		while ($row= pg_fetch_array($resultnbusr)) 
		{
			$nombre_usr=$row['nb_usr'];
			$apellido_usr=$row['ap_usr'];
			$status=$row['id_status_usr'];
			$cargo=$row['id_cargo'];
		}
	

		if ($status == 0) // 3. Validacion de que el usuario no este Desactivado
		{
			$_SESSION ['error5']="Usuario Desactivado";
			header("Location:../index.php");
		}
	
		else // Si el Usuario no est� desactivado vamos a verificar si es primera vez que entra
		
		{ //Comienza el else que valida el cambio de clave
		
		
		$queryclave ="SELECT * FROM t_cman_usuario where id_usr='$id_usr'";
		$resultclave=ejecutar($queryclave);
			
			while ($row= pg_fetch_array($resultclave)) 
			{
				$in_cambia_clave=$row['ind_cbm_pwd'];
				$id_usr_cambio_clave=$row['id_usr'];
				$password_usr_clave=$row['tx_pwd'];
			}
		
			if($in_cambia_clave=='0') // Con esta condicion sabremos si es primera vez que ingresa si si lo vamos a mandar a la interfaz de cambio de clave
			{
header("Location:../parts/Cambio_Clave/cambia_login.php?id_usuario=$id_usr_cambio_clave&control_login=1");
		 exit();
			}

			else //Comienza else para validar si no ha cambiado la clave en 3 meses
			{
				$queryidfecha="SELECT max(id_pwd) AS maximo_id from t_cman_hist_pwd where id_usr='$id_usr'";
				$resultid=ejecutar($queryidfecha);
	
				while ($row= pg_fetch_array($resultid)) 
				{
				 $id_conex=$row['maximo_id'];
				}
	
				$queryfecha ="SELECT id_usr, tx_pwd, id_pwd, AGE (CURRENT_DATE , fe_rgto_pwd) AS diferencia FROM t_cman_hist_pwd where id_pwd='$id_conex'";
				$resultfecha=ejecutar($queryfecha);
	
				while ($row= pg_fetch_array($resultfecha)) 
				{
					 $id_usr=$row['id_usr'];
					 $fecha_registro=$row['fe_rgto_pwd'];
					 $periodo=$row['diferencia'];
				}
	
				if($periodo >="1 days")
				{ 
header("Location../parts/Cambio_Clave/cambia_login.php?id_usuario=$id_usr_cambio_clave&control_login=2"); //exit();
				}	
				
				$_SESSION['control'] =1;
				$_SESSION['id_cuentausuario']=$id_usr;
				$_SESSION['nombre_usuario']=$nombre_usr;
				$_SESSION['apellido_usuario']=$apellido_usr;
				$_SESSION['cargo']=$cargo;
				header("Location:../index.php");

			}//Cierra el else que valida el cambio de clave en 3 meses
	
	}// Cierra el else del Cambio de Clave General 

	
} // Cierra el else de la clave Correcta 
					
} // Cierre del If de si ingreso los datos 

?>